This invention relates generally to storage devices and more particularly, it relates to a propagating first-in, first-out storage device which is constructed with a minimal number of circuit components than has been traditionally available.
As is well known, a data processing system generally includes a number of peripheral output equipment, such as a printer, to be acted upon by a central processing unit (CPU). The CPU is typically formed of circuits that operate at high speeds while the peripheral output equipment is operated at a lower speed. Thus, temporary storage devices have been developed which interface between the CPU and the peripheral output equipment so as to accommodate for the different rates of transferring data. One such type of temporary storage device is referred to as a first-in, first-out (FIFO) storage device which can be used whenever the incoming data rate is different from the outgoing data rate so as to store temporarily the data. For example, the data from the CPU would be transferred into the FIFO storage device at the high speed and then the data would be sent out to the peripheral output equipment at the lower speed.
Heretofore, the FIFO structures of the prior art have been quite complex since they generally have utilized a large number of functional elements such as counters, pointers, or address decoder circuitry. It has been generally concluded by those in the art that the overall cost of temporary storage devices can be minimized by using the least number of circuit components as possible. Accordingly, the propagating FIFO storage device of the present invention is formed with a minimal number of circuit components than has existed heretofore. By eliminating the need for a large number of circuit components, there has been realized not only the reduction of overall cost considerably, but also the reliability has been greatly improved since it is well known that malfunctions tend to increase with the number of parts. Moreover, it has been found that the reduction in cost due to the use of minimal number of circuit components also creates a savings in the amount of chip area required.